// 断言
// 有时候你会遇到这种情况, 你会比TypeScript更了解某个值的详细信息
// 通常者会发生在你清楚的知道一个变量具有比它现有类型更确切的类型
// (比如说满是数字的数组, 或是全都是自然数下标的对象, 这只是一个举例)

let s:any = "万章"
let len:number = s.length;
function sayName(){
}

// 通过类型断言这种方式可以告诉编译器, 相信我,我知道自己在干什么?
// 类型断言好比其它语言里的类型转换, 但是不军心特殊的数据检查和解构 

// 类型断言好比其他语言里面的类型转换,
// 但是不进行特殊的数据检查和解构

// 它没有运行时的影响, 只是在编译阶段起作用.
// TypeScript会假设你, 程序员, 已经进行了必须的检查

// 尖括号 语法
let someValue:any = "this is a string";
let strLength:number = (<string>someValue).length;
// as    语法
let someValue2:any = "this is a string";
let strLength2:number = (someValue2 as string).length

console.log(someValue,someValue2);
console.log(strLength,strLength2);



